МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
РЕАЛІЗАЦІЯ ЗАХИСТУ КОМПЮТЕРНИХ СИСТЕМ ЗА ДОПОМОГОЮ АСИМЕТРИЧНИХ КРИПТОГРАФІЧНИХ ШИФРІВ
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторної роботи №5
з курсу “Системи ТЗІ”
для студентів спеціальності
Мета: Ознайомитись з алгоритмом і методом шифрування Діффі-Хеллмана. Отримати навики роботи з програмою PGP. Навчитися генерувати ключі, імпортувати і експортувати їх за допомогою електронної пошти, проводити шифрування і дешифрування текстових повідомлень. Навчитися застосовувати набуті знання в галузі інформаційної безпеки.
Шифрування за схемою Діффі і Хеллмана.
Шифрування за схемою Діффі і Хеллмана відноситься до криптографічних систем з відкритим ключем, які мають назву асиметричне шифрування. Асиметричне шифрування – це система шифрування або електронного цифрового підпису (ЕЦП) при якій відкритий ключ передається по відкритому (незахищеному, доступному для спостереження) каналу, і використовується для перевірки ЕЦП і для шифрування повідомлення. Для генерації ЕЦП і для дешифрування повідомлення використовується секретний ключ.
Криптографічні системи з відкритим ключем широко застосовуються в різних мережевих протоколах, зокрема, в протоколах TLS (попередньо SSL) і SSH. Також використовуються в PGP і S/MIME.
Види асиметричних шифрів:
Diffie-Hellman (Обмін ключами Діффі — Хелмана, DH)
RSA (Rivest-Shamir-Adleman)
DSA (Digital Signature Algorithm)
Elgamal (Шифросистема Ель-Гамаля)
ECC (Elliptic Curve Cryptography, криптографія еліптичної кривої)
ГОСТ Р 34.10-2001
Rabin
Luc
McEliece
Алгоритм Діффі - Хеллмана (Dіffіe-Hellman, DH) дозволяє двом сторонам одержати загальний секретний ключ, використовуючи незахищений від прослуховування, але захищений від підміни, канал зв'язку. Цей ключ може бути використаний для шифрування подальшого обміну за допомогою алгоритму симетричного шифрування.
Схема обміну ключами представлена на рис. 1. При роботі алгоритму, кожен абонент:
1 - генерує випадкове натуральне число a - закритий ключ;
2 - встановлює разом з іншим абонентом відкриті параметри p й g (звичайно значення p й g генеруються на одній стороні й передаються інший), де p - випадкове просте число, g - первинний корінь за модулем p;
3 - обчислює відкритий ключ A, використовуючи перетворення над закритим ключем: A = ga mod p;
4 - обмінюється відкритими ключами з іншим абонентом;
5 - обчислює загальний секретний ключ K, використовуючи відкритий ключ B іншого абоненту і свій закритий ключ a: K = Ba mod p (К виходить рівним з обох сторін, тому що:
K = Ab mod p = (gb mod p)b mod p = gab mod p = (gb mod p)a mod p = Ba mod p
Тобто, в обох абонентів вийде однакове число K, яке можна використати як секретний ключ, оскільки тут зловмисник зустрінеться із практично нерозв'язної проблемою обчислення gab mod p по перехопленим ga mod p і gb mod p, якщо числа p, a, b досить великі.
Рис. 1. Схема шифрування DH.
В практичних реалізаціях a, b - числа порядку 10100 , p - порядку 10300. Число g не обов'язково має бути великим і має значення в межах першого десятка.
Криптографічна стійкість алгоритму DH полягає в складності обчислення K=gab mod p за відомими p, g, A=ga mod p і B=gb mod p, в складності дискретного логарифмування.
Необхідно відзначити, що алгоритм Діффі - Хеллмана працює тільки на лініях зв'язку з надійно захищеними каналами, коли не можлива модифікація даних. В тих випадках, коли в каналі можлива модифікація даних, з'являється очевидна можливість вклинювання в процес генерації ключів "зловмисника-посередника" по тій же самій схемі, що й для асиметричної криптографії.
2. Послідовність виконання роботи.
2.1. Створіть ключ Діффі-Хеллмана за допомогою програми PGP.
PGP (Pretty Good Privacy) – комп'ютерна програма, що дозволяє виконувати операції шифрування (кодування) і цифрового підпису повідомлень, файлів та іншої інформації, представленої в електронному вигляді, має безліч реалізацій, сумісних між собою і рядом інших програм (GnuPG, FileCry...